/**
 *
 * @param context 对象 上下文
 * @param args 剩余参数
 * @returns {Window}
 * @constructor
 */
Function.prototype.Call = function (context, ...args) {
    context = context || window;
    context.fn = this; // this == sayName();
    const result = context.fn(...args);
    delete context.fn;
    return result;
}
var Obj = {
    name :'sunqi',
    sayName:function (age,location) {
        console.log(this.name,age,location)
    }
}

Obj.sayName.Call({name:'孙qi'},18,'湖南长沙');
